package uniquindio.facing.ingesis.moviles.undroiq.utilitarios;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import uniquindio.facing.ingesis.moviles.undroiq.activity.UtilContenido;
import uniquindio.facing.ingesis.moviles.undroiq.entidades.Actividad;
import uniquindio.facing.ingesis.moviles.undroiq.entidades.Noticia;
import uniquindio.facing.ingesis.moviles.undroiq.entidades.Venta;

/**
 *  Clase encargada de pasar la informacion de un objeto List a  un objeto Map.
 *  
 * @author Cristian Ra�l Pineda Rodr�guez.
 *
 */
public class Contenido {

	UtilContenido contenido;

	//Recursos para las Noticias
	private Map<String, Noticia> mapNoticias;
	private List<Noticia> noticias;

	//Recursos para las Activiades
	private Map<String, Actividad> mapActividades;
	private List<Actividad> actividades;

	//Recursos para las Ventas
	private Map<String, Venta> mapVentas;
	private List<Venta> ventas;

	/**
	 * Método Constructor
	 * 
	 * @param contenido
	 */
	public Contenido(UtilContenido contenido) {
		super();
		this.contenido = contenido;
		mapNoticias = new HashMap<String, Noticia>();
		mapActividades= new HashMap<String, Actividad>();
		mapVentas = new HashMap<String, Venta>();
	}


	/**
	 * M�todo encargado de consulta la informacion en la BD respeto
	 * a las noticias y una vez obtenido el objeto List se agrega
	 * la informacion a un Objeto Map.
	 * 
	 * @return Map, Colecci�n con los datos de las noticias.
	 */
	public Map<String, Noticia> capturarInformacionNoticias() {

		noticias = contenido.obtenerNoticias();

		if (noticias!=null) {
			for (Noticia noticia : noticias) {
				String idNoticia = noticia.getTitulo();

				mapNoticias.put(idNoticia, noticia);
			}
		}

		return mapNoticias;
	}

	/**
	 * M�todo encargado de consulta la informacion en la BD respeto
	 * a las actividades y una vez obtenido el objeto List se agrega
	 * la informacion a un Objeto Map.
	 * 
	 * @return Map, Colecci�n con los datos de las actividades.
	 */
	public Map<String, Actividad> capturarInformacionActividades() {

		actividades = contenido.obtenerActividades();

		if (actividades!=null) {
			for (Actividad actividad : actividades) {
				String idActividad = actividad.getTitulo();

				mapActividades.put(idActividad, actividad);
			}
		}

		return mapActividades;
	}
	
	/**
	 * M�todo encargado de consulta la informacion en la BD respeto
	 * a las ventas y una vez obtenido el objeto List se agrega
	 * la informacion a un Objeto Map.
	 * 
	 * @return Map, Colecci�n con los datos de las ventas.
	 */
	public Map<String, Venta> capturarInformacionVentas() {

		ventas = contenido.obtenerVentas();

		if (ventas!=null) {
			for (Venta actividad : ventas) {
				String idActividad = actividad.getTitulo();

				mapVentas.put(idActividad, actividad);
			}
		}

		return mapVentas;
	}

}
